home *** CD-ROM | disk | FTP | other *** search
- /* @(#)cg8var.h 1.14 of 8/22/90 SMI */
-
- /*
- * Copyright 1988 by Sun Microsystems, Inc.
- */
-
- #ifndef cg8var_DEFINED
- #define cg8var_DEFINED
-
- /* <sundev/p4reg.h> and <pixrect/memvar.h> included */
- #include <pixrect/cg4var.h>
- #ifndef SVR4
- #include <sundev/cg8reg.h>
- #include <sunwindow/cms.h>
- #else
- #include <sys/cms.h>
- #endif SVR4
-
- /* FBIOSATTR device specific array indices, copied from cg4var.h */
- #define FB_ATTR_CG8_SETOWNER_CMD 0 /* 1 indicates PID is valid */
- #define FB_ATTR_CG8_SETOWNER_PID 1 /* new owner of device */
-
-
- #define CG8_NFBS 3
-
- #define CG8_PRIMARY 0x01 /* Mark the PRIMARY Pixrect */
- #define CG8_OVERLAY_CMAP 0x02 /* Overlay CMAP to be changed */
- #define CG8_24BIT_CMAP 0x04 /* 24 Bit CMAP to be changed */
- #define CG8_KERNEL_UPDATE 0x08 /* kernel vs. user ioctl */
- /* 0x10 & 0x20 are dbl buf in cg9 */
- #define CG8_SLEEPING 0x40 /* Denote if wake_up is necessary */
- #define CG8_COLOR_OVERLAY 0x80 /* view overlay & enable as 2 bits */
- #define CG8_UPDATE_PENDING 0x100
-
- struct cg8_data
- {
- struct mprp_data mprp; /* memory pixrect simulator */
- int flags; /* misc. flags */
- int planes; /* current group and mask */
- int fd; /* file descriptor */
- short active; /* active fb no. */
- struct cg4fb fb[CG8_NFBS]; /* frame buffer info */
- int windowfd; /* if 8-bit indexed pw */
- struct colormapseg cms; /* if 8-bit indexed pr */
- int real_windowfd; /* if 8-bit indexed pw */
- };
-
- #define cg8_d(pr) ((struct cg8_data *)((pr)->pr_data))
-
- #define CG8_PR_TO_MEM(src, mem) \
- if (src && src->pr_ops != &mem_ops) \
- { \
- mem.pr_ops = &mem_ops; \
- mem.pr_size = src->pr_size; \
- mem.pr_depth = src->pr_depth; \
- mem.pr_data = (char *) &cg8_d(src)->mprp; \
- src = &mem; \
- }
-
- #define CG8_PR_TO_MEM32(pr, mem32_pr, mem32_pr_data) \
- if (pr && pr->pr_ops != &mem_ops) \
- { \
- mem32_pr.pr_ops = &mem32_ops; \
- mem32_pr.pr_size = pr->pr_size; \
- mem32_pr.pr_depth = pr->pr_depth; \
- mem32_pr_data.mprp = cg8_d(pr)->mprp; \
- mem32_pr_data.plane_group = cg8_d(pr)->fb[cg8_d(pr)->active].group;\
- mem32_pr_data.fd = cg8_d(pr)->fd; \
- mem32_pr_data.windowfd = cg8_d(pr)->windowfd; \
- mem32_pr_data.cms = cg8_d(pr)->cms; \
- mem32_pr.pr_data = (char *) &mem32_pr_data; \
- pr = &mem32_pr; \
- }
-
- extern struct pixrectops cg8_ops;
-
- int cg8_putcolormap();
- int cg8_putattributes();
- int cg8_ioctl();
-
- #ifndef KERNEL
-
- Pixrect *cg8_make();
- int cg8_destroy();
- Pixrect *cg8_region();
- int cg8_getcolormap();
- int cg8_getattributes();
- int cg8_vector();
- int cg8_get();
- int cg8_put();
- int cg8_rop();
-
- #endif !KERNEL
-
- #endif cg8var_DEFINED
-